# RISC-V 启动汇编代码
.section .text
.global _entry

# 内核入口点 - QEMU从这里开始执行
_entry:
    # 设置栈指针
    la sp, stack0           # 加载栈地址
    li t0, 4096             # 栈大小 4KB
    add sp, sp, t0          # 设置栈顶
    
    # 跳转到C主函数
    call main
    
    # 如果main返回，进入死循环
spin:
    j spin    # 无条件跳转到自身，无限循环

# 栈空间 (4KB)
.section .bss      # 未初始化数据段
.align 4           # 4字节对齐，提高内存访问效率
stack0:
    .space 4096   # 预留4KB空间作为栈，用于函数调用和局部变量
